Methods, systems, and media for generating predicted information related to advertisement viewability

ABSTRACT

In accordance with some embodiments of the disclosed subject matter, methods, systems, and media for generating predicted information related to advertisement viewability are provided.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/018,537, filed Feb. 8, 2016, which claims the benefit of U.S.Provisional Patent Application No. 62/112,896, filed Feb. 6, 2015, eachof which is hereby incorporated by reference herein in its entirety.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media forgenerating predicted information related to advertisement viewability.

BACKGROUND

Before an advertisement is rendered in a browser and is available forviewing for some period of time, actual measurement of viewability isimpossible. However, in most scenarios, selling and buying decisionshave to be made almost immediately after the page starts being loadedinto the browser and the request for the advertisement reaches theseller advertisement server.

Accordingly, it is desirable to provide new methods, systems, and mediafor generating predicted information related to advertisementviewability.

SUMMARY

In accordance with some embodiments of the disclosed subject matter,methods, systems, and media for generating predicted information relatedto advertisement viewability are provided.

In accordance with some embodiments of the disclosed subject matter, amethod for generating predicted information related to advertisementviewability is provided, the method comprising: receiving, from a codeinserted in a web page associated with a seller of an advertisementplacement, metrics associated with the web page; generating a stringthat includes one or more characters that each correspond to particularvalues of the received metrics; transmitting the string to the seller,wherein the string is appended to a URL associated with the web page;receiving, from a buyer of the advertisement placement, a first requestfor predicted information relating to advertisement viewabilitycorresponding to the advertisement placement on the web page, whereinthe first request includes the string; retrieving the metrics associatedwith the string; generating predicted information including aprobability indicating a likelihood that an advertisement inserted inthe advertisement placement on the web page will be viewed based on theretrieved metrics; transmitting the predicted information to the buyer;receiving, from the buyer, a second request for updated predictedinformation relating to advertisement viewability corresponding to theadvertisement placement, wherein the second request includes the string;retrieving updated metrics associated with the string, wherein theupdated metrics indicate a portion of the web page that is currentlybeing presented; generating updated predicted information including anupdated probability indicating a likelihood that an advertisementinserted in the advertisement placement will be viewed based on theupdated metrics; and transmitting the updated predicted information tothe buyer.

In some embodiments, the updated metrics further indicate whether abrowser tab corresponding to the web page is currently active.

In some embodiments, the updated metrics further indicate a scrollingspeed corresponding to a browser window displaying the web page.

In some embodiments, the updated predicted information includes anupdated predicted duration of time that the advertisement inserted inthe advertisement placement will be viewed based on the scrolling speed.

In some embodiments, the string indicates a format of the advertisementplacement.

In some embodiments, the predicted information is generated based atleast in part on historical data related to viewing of advertisementspreviously placed on the web page.

In accordance with some embodiments of the disclosed subject matter, asystem for generating predicted information related to advertisementviewability is provided, the system comprising a hardware processor thatis configured to: receive, from a code inserted in a web page associatedwith a seller of an advertisement placement, metrics associated with theweb page; generating a string that includes one or more characters thateach correspond to particular values of the received metrics; transmitthe string to the seller, wherein the string is appended to a URLassociated with the web page; receive, from a buyer of the advertisementplacement, a first request for predicted information relating toadvertisement viewability corresponding to the advertisement placementon the web page, wherein the first request includes the string; retrievethe metrics associated with the string; generate predicted informationincluding a probability indicating a likelihood that an advertisementinserted in the advertisement placement on the web page will be viewedbased on the retrieved metrics; transmit the predicted information tothe buyer; receiving, from the buyer, a second request for updatedpredicted information relating to advertisement viewabilitycorresponding to the advertisement placement, wherein the second requestincludes the string; retrieve updated metrics associated with thestring, wherein the updated metrics indicate a portion of the web pagethat is currently being presented; generate updated predictedinformation including an updated probability indicating a likelihoodthat an advertisement inserted in the advertisement placement will beviewed based on the updated metrics; and transmit the updated predictedinformation to the buyer.

In accordance with some embodiments of the disclosed subject matter, anon-transitory computer-readable medium containing computer-executableinstructions that, when executed by a processor, cause the processor toperform a method for generating predicted information related toadvertisement viewability is provided, the method comprising: receiving,from a code inserted in a web page associated with a seller of anadvertisement placement, metrics associated with the web page;generating a string that includes one or more characters that eachcorrespond to particular values of the received metrics; transmittingthe string to the seller, wherein the string is appended to a URLassociated with the web page; receiving, from a buyer of theadvertisement placement, a first request for predicted informationrelating to advertisement viewability corresponding to the advertisementplacement on the web page, wherein the first request includes thestring; retrieving the metrics associated with the string; generatingpredicted information including a probability indicating a likelihoodthat an advertisement inserted in the advertisement placement on the webpage will be viewed based on the retrieved metrics; transmitting thepredicted information to the buyer; receiving, from the buyer, a secondrequest for updated predicted information relating to advertisementviewability corresponding to the advertisement placement, wherein thesecond request includes the string; retrieving updated metricsassociated with the string, wherein the updated metrics indicate aportion of the web page that is currently being presented; generatingupdated predicted information including an updated probabilityindicating a likelihood that an advertisement inserted in theadvertisement placement will be viewed based on the updated metrics; andtransmitting the updated predicted information to the buyer.

In accordance with some embodiments of the disclosed subject matter, asystem for generating predicted information related to advertisementviewability is provided, the system comprising: means for receiving,from a code inserted in a web page associated with a seller of anadvertisement placement, metrics associated with the web page; means forgenerating a string that includes one or more characters that eachcorrespond to particular values of the received metrics; transmittingthe string to the seller, wherein the string is appended to a URLassociated with the web page; means for receiving, from a buyer of theadvertisement placement, a first request for predicted informationrelating to advertisement viewability corresponding to the advertisementplacement on the web page, wherein the first request includes thestring; means for retrieving the metrics associated with the string;generating predicted information including a probability indicating alikelihood that an advertisement inserted in the advertisement placementon the web page will be viewed based on the retrieved metrics;transmitting the predicted information to the buyer; means forreceiving, from the buyer, a second request for updated predictedinformation relating to advertisement viewability corresponding to theadvertisement placement, wherein the second request includes the string;means for retrieving updated metrics associated with the string, whereinthe updated metrics indicate a portion of the web page that is currentlybeing presented; means for generating updated predicted informationincluding an updated probability indicating a likelihood that anadvertisement inserted in the advertisement placement will be viewedbased on the updated metrics; and means for transmitting the updatedpredicted information to the buyer.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features, and advantages of the disclosed subjectmatter can be more fully appreciated with reference to the followingdetailed description of the disclosed subject matter when considered inconnection with the following drawings, in which like reference numeralsidentify like elements.

FIG. 1 shows a schematic diagram of an example of a system forgenerating predicted information related to advertisement viewability inaccordance with some embodiments of the disclosed subject matter.

FIG. 2 shows an example of hardware that can be used in a server and/ora user device in accordance with some embodiments of the disclosedsubject matter.

FIG. 3 shows an example of an information flow diagram for using codeprovided by a measurement vendor to determine advertising pricingparameters in a private exchange in accordance with some embodiments ofthe disclosed subject matter.

FIG. 4 shows an example of a process for generating predictedinformation related to advertisement viewability and transmitting thepredicted information to a seller in accordance with some embodiments ofthe disclosed subject matter.

FIG. 5 shows an example of an information flow diagram for receivingbids for an advertisement placement in an open exchange based oninformation represented in a string appended to a URL in accordance withsome embodiments of the disclosed subject matter.

FIG. 6 shows an example of a process for generating a string thatencodes advertisement viewability metrics and generating predictedinformation relating to advertisement viewability based on the metricsin accordance with some embodiments of the disclosed subject matter.

FIG. 7 shows an example of an information flow diagram for updatingadvertising pricing parameters based on updated predicted informationrelating to advertisement viewability in accordance with someembodiments of the disclosed subject matter.

FIG. 8 shows an example of an information flow diagram for presentingmultiple bid opportunities for an advertisement placement in an openexchange in accordance with some embodiments of the disclosed subjectmatter.

DETAILED DESCRIPTION

In accordance with various embodiments, mechanisms (which can includemethods, systems, and media) for generating predicted informationrelated to advertisement viewability are provided. In some embodiments,the mechanisms can be implemented on an exchange server, a sellerserver, one or more buyer servers, and a measurement vendor server.

In some embodiments, the mechanisms described herein can be used in aprivate exchange for buying and selling advertisements on a particularweb page. In such embodiments, a code provided by the measurement vendorserver can be loaded into a web page associated with the seller in whichan advertisement is to be placed. In some embodiments, when the web pageis loaded (e.g., on a user device), the code can determine metricsand/or information associated with the web page, such as a UniformResource Locator (URL) associated with the page, information associatedwith the browser that is displaying the web page, a screen resolution ofthe device that is displaying the web page, information (e.g., sizeand/or format) of an advertisement to be placed on the web page, and/orany other suitable information. The information and/or metrics can thenbe transmitted to the measurement vendor server, which can generatepredicted information that an advertisement placed on the web pageand/or at a particular position on the web page will be viewed and/orwill be viewed for a particular duration of time. The predictedinformation can then be transmitted to the exchange server and/or to theseller server, which can use the predicted information to setadvertising parameters, such as a floor price for a bid on anadvertisement placement on the web page.

In some embodiments, the mechanisms described herein can be used in anopen exchange, where buyers of advertisement placements on the web pagecan receive predicted information of advertisement viewability prior tobidding on the advertisement placement. In some such embodiments, themeasurement vendor server can receive the information and/or metricsfrom the code loaded in the web page, and can generate a string thatencodes the received information and/or metrics. The string can then beappended to the URL of the page (e.g., as a query string), and the URLwith the appended string can be included in requests for bids on theadvertisement placement. A buyer server can then request predictedinformation relating to advertisement viewability from the measurementvendor server using the appended string, and, in response to receivingthe predicted information, can determine and/or generate a bid for theadvertisement placement.

In some embodiments, in instances where an advertisement placement isnot purchased at a first offering, the mechanisms described herein canallow additional opportunities to purchase the advertisement placementto be made available, with updated predicted information. For example,in some embodiments, the updated predicted information can includeupdated probabilities indicating likelihoods that an advertisement willbe viewed, viewed for a particular duration of time, and/or selected. Asa more particular example, if a user has scrolled up, down, left, orright on a page associated with the advertisement placement, the updatedpredicted information can include probabilities indicating whether theuser is more or less likely to view the advertisement as a result ofscrolling the page. In a private exchange, the seller server can updatedadvertisement pricing parameters (e.g., a floor price, and/or any othersuitable pricing parameter) using the updated predicted information.Additionally or alternatively, in an open exchange, buyers can be givenadditional opportunities to bid on the advertisement placement, and candetermine new bids based on the updated predicted information.

Turning to FIG. 1, an example 100 of hardware for generating predictedinformation related to advertisement viewability that can be used inaccordance with some embodiments of the disclosed subject matter isshown. As illustrated, hardware 100 can include one or more servers,such as an exchange server 102, a measurement vendor server 104, one ormore buyer servers 106, a seller server 108, and a communication network110.

Exchange server 102 can be any suitable server for hosting an exchangeon which an advertisement placement on a web page can be bought. Forexample, in some embodiments, exchange server 102 can load code providedby a measurement vendor that determines metrics associated with the pageand a browser the page is loaded on, and can transmit the metrics tomeasurement vendor server 104, as shown in and described below inconnection with FIG. 3. As another example, in some embodiments,exchange server 102 can create a bid request that is transmitted to oneor more of buyer server(s) 106, and can select a particular buyer basedon the received bids, as described below in connection with FIG. 5.

Measurement vendor server 104 can be any suitable server for providing atag or code that determines metrics associated with advertisementviewability and which can generate predicted information indicating aprobability that an advertisement on a particular page at a particularlocation will be viewed based on the metrics. For example, in someembodiments, measurement vendor server 104 can provide the tag or codeto exchange server 102, and can receive the metrics from the tag or codewhen exchange server 102 causes the page to load in a browser window(e.g., in a user device). In some embodiments, measurement vendor server104 can then generate predicted information of a probability that anadvertisement located at a particular location on the page will beviewed, and can transmit the predicted information to exchange server102, as shown in and described below in connection with FIGS. 3 and 4.As another example, in some embodiments, measurement vendor server 104can receive the metrics from exchange server 102 and can create a stringthat encodes the metrics, which can then be appended to a URL associatedwith the page, as shown in and described below in connection with FIGS.5 and 6. In some embodiments, one or more buyers can request informationassociated with the appended string from measurement vendor server 104,and measurement vendor server 104 can transmit predicted informationindicating that an advertisement, located on the page associated withthe string, will be viewed to the requesting buyers, as shown in anddescribed below in connection with FIGS. 5 and 6.

In some embodiments, measurement vendor server 104 can store anysuitable data for generating predicted information relating toadvertisement viewability. For example, in some embodiments, measurementvendor server 104 can store information related to particular web sitesand/or particular URLs. As a more particular example, in someembodiments, measurement vendor server 104 can store information relatedto traffic on a particular web site (e.g., number of visits, number ofunique visits, average duration of time spent on the web site, and/orany other suitable metric). As another more particular example, in someembodiments, measurement vendor server 104 can store information relatedto advertisement viewing on a particular web site (e.g., how oftenadvertisements of a particular type are viewed and/or clicked from theweb site, and/or any other suitable information). As yet another moreparticular example, in some embodiments, measurement vendor server 104can store information indicating that a particular web site belongs to aparticular category, such as whether the web site relates to aparticular genre (e.g., an online retailer, a news site, a socialnetworking site, and/or any other suitable category) and/or is a spamsite (e.g., based on information indicating that the URL is amisspelling of a different URL, and/or based on any other suitableinformation).

Buyer server(s) 106 can be one or more servers associated with buyersfor advertisement placements. In some embodiments, buyer server(s) 106can bid on advertisement placements. For example, in some embodiments,buyer server(s) 106 can transmit a bid to purchase an advertisementplacement to exchange server 102. As another example, in someembodiments, buyer server(s) 106 can determine the bid based oninformation received from measurements vendor server 104, as shown inand described below in connection with FIGS. 5 and 6.

Seller server 108 can be any server associated with a web page on whichan advertisement is to be placed. For example, in some embodiments,seller server 108 can be associated with a particular web site, aparticular company, a particular person, and/or any other suitableentity. In some embodiments, seller server 108 can determine advertisingparameters, such as a floor price and/or a clearing price associatedwith a particular advertisement placement on the web page. For example,as shown in and described below in connection with FIG. 3, in someembodiments, seller server 108 can receive predicted informationrelating to the viewability of an advertisement placed in theadvertisement placement being sold, and can determine a floor pricebased on the received predicted information.

Communication network 110 can be any suitable combination of one or morewired and/or wireless networks in some embodiments. For example,communication network 110 can include any one or more of the Internet, amobile data network, a satellite network, a local area network, a widearea network, a telephone network, a cable television network, a WiFinetwork, a WiMax network, and/or any other suitable communicationnetwork.

Although exchange server 102, measurement vendor server 104, buyerserver(s) 106, and seller server 108 are illustrated as separatedevices, any one or more of these devices can be combined into onedevice in some embodiments. Also, although only one each of exchangeserver 102, measurement vendor server 104, buyer server(s) 106, andseller server 108 are shown in FIG. 1 to avoid over-complicating thefigure, any suitable one or more of each device can be used in someembodiments.

Exchange server 102, measurement vendor server 104, buyer server(s) 106,and seller server 108 can be implemented using any suitable hardware insome embodiments. For example, in some embodiments, devices 102, 104,106, and 108 can be implemented using any suitable general purposecomputer or special purpose computer. For example, a server may beimplemented using a special purpose computer. Any such general purposecomputer or special purpose computer can include any suitable hardware.For example, as illustrated in example hardware 200 of FIG. 2, suchhardware can include hardware processor 202, memory and/or storage 204,an input device controller 206, an input device 208, display/audiodrivers 210, display and audio output circuitry 212, communicationinterface(s) 214, an antenna 216, and a bus 218.

Hardware processor 202 can include any suitable hardware processor, suchas a microprocessor, a micro-controller, digital signal processor(s),dedicated logic, and/or any other suitable circuitry for controlling thefunctioning of a general purpose computer or a special purpose computerin some embodiments.

Memory and/or storage 204 can be any suitable memory and/or storage forstoring programs, data, media content, and/or any other suitableinformation in some embodiments. For example, memory and/or storage 204can include random access memory, read-only memory, flash memory, harddisk storage, optical media, and/or any other suitable memory.

Input device controller 206 can be any suitable circuitry forcontrolling and receiving input from a device in some embodiments. Forexample, input device controller 206 can be circuitry for receivinginput from a touch screen, from one or more buttons, from a voicerecognition circuit, from a microphone, from a camera, from an opticalsensor, from an accelerometer, from a temperature sensor, from a nearfield sensor, and/or any other type of input device.

Display/audio drivers 210 can be any suitable circuitry for controllingand driving output to one or more display/audio output circuitries 212in some embodiments. For example, display/audio drivers 210 can becircuitry for driving an LCD display, a speaker, an LED, or any othertype of output device.

Communication interface(s) 214 can be any suitable circuitry forinterfacing with one or more communication networks, such as network 110as shown in FIG. 1. For example, interface(s) 214 can include networkinterface card circuitry, wireless communication circuitry, and/or anyother suitable type of communication network circuitry.

Antenna 216 can be any suitable one or more antennas for wirelesslycommunicating with a communication network in some embodiments. In someembodiments, antenna 216 can be omitted when not needed.

Bus 218 can be any suitable mechanism for communicating between two ormore components 202, 204, 206, 210, and 214 in some embodiments.

Any other suitable components can be included in hardware 200 inaccordance with some embodiments.

Turning to FIG. 3, an example 300 of an information flow diagram forusing code provided by a measurement vendor to determine advertisingpricing parameters in a private exchange is shown in accordance withsome embodiments of the disclosed subject matter. In some embodiments,portions of information flow diagram 300 can be implemented on exchangeserver 102, measurement vendor server 104, and seller server 108.

At 302, exchange server 102 can load a tag or a code provided by ameasurement vendor (e.g., transmitted to exchange server 102 frommeasurement vendor server 104 via communication network 110). The tag orcode can be of any suitable format. For example, in some embodiments,the tag or code can be Javascript code that is loaded into a browser byexchange server 102 when a page is rendered on a user device (e.g., on amobile device such as a mobile phone or tablet computer, on a laptopcomputer, on a desktop computer, on a television, on a wearablecomputer, and/or any other suitable type of user device).

In some embodiments, the tag or code can cause metrics related to thepage, the browser, an advertisement to be inserted into the page, and/orany other suitable information to be determined. For example, in someembodiments, the metrics can include a Universal Resource Locator (URL)associated with the page and/or an identifier of the browser (e.g., aname associated with the browser, a version number associated with thebrowser, and/or any other suitable information). As another example, insome embodiments, the metrics can include information related to theadvertisement to be inserted, such as a format and/or size of theadvertisement, whether the advertisement will be viewable as the page isloaded by the browser, a location of the advertisement, and/or any othersuitable information.

At 304, exchange server 102 can transmit the determined metrics tomeasurement vendor server 104. For example, in some embodiments,exchange server 102 can transmit the metrics via communication network110.

At 306, measurement vendor server 104 can determine and/or calculate aprobability indicating a likelihood that an advertisement placed on thepage associated with the received metrics will be viewed and/or will beviewed for a particular duration of time. Additionally or alternatively,in some embodiments, measurement vendor server 104 can determine otherinformation, such as a floor and/or clearing price for a particular typeof advertisement (e.g., an advertisement of a particular size, anadvertisement in a particular category, an advertisement of a particularquality level, an advertisement with a particular probability of beingviewed, and/or any other suitable type) based on the predictedprobability. In some embodiments, any suitable technique or combinationof techniques, such as those described below in connection with FIG. 4,can be used.

At 308, measurement vendor server 104 can transmit the predictedprobability that an advertisement placed on the page will be viewed toexchange server 102.

At 310, exchange server 102 can transmit the information relating to theadvertisement viewability predicted information to the seller, forexample, by transmitting the information to seller server 108 viacommunication network 110.

At 312, seller server 108 can receive the predicted information relatingto advertisement viewability, and can determine advertisement pricingparameters based on the received predicted information. For example, insome embodiments, seller server 108 can determine a floor price for anadvertisement to be placed in a particular position. As a moreparticular example, in some embodiments, seller server 108 can set thefloor price based on a received probability that an advertisement on theweb page and/or in a particular position on the web page will be viewed,a probability that the advertisement will be viewed for a particularduration of time, and/or any other suitable predicted information. As aspecific example, in some embodiments, seller server 108 can determinethat the floor price is to be relatively higher in response to receivingpredicted information that a probability that an advertisement will beviewed is above a predetermined threshold (e.g., greater than 50%chance, greater than 70% chance, and/or any other suitable probability)compared to if the probability is below the predetermined threshold.

Turning to FIG. 4, an example 400 of a process for determining predictedinformation including a probability indicating a likelihood that anadvertisement placed on a particular page will be viewed is shown inaccordance with some embodiments of the disclosed subject matter. Insome embodiments, portions of process 400 can be implemented onmeasurement vendor server 104.

Process 400 can begin by receiving metrics from a measurement vendorcode loaded in a browser associated with a web page of a seller at 402.As described above in connection with block 302 of FIG. 3, in someembodiments, the metrics can include information such as a URLassociated with the web page, an identifier of the browser, a formatand/or size of the advertisement, whether the advertisement is to beviewable as the page is loaded by the browser, a location of theadvertisement, and/or any other suitable information.

Process 400 can receive information from an HTTP request header at 404.For example, in some embodiments, the information can include an IPaddress of the computer accessing the web page of the seller, a localtime at the computer accessing the web page of the seller, a day of theweek, information associated with cookies stored on the computeraccessing the web page, information relating to a referring page visitedprior to accessing the web page of the seller, and/or any other suitableHTTP request information.

Process 400 can receive information indicating historical data for theweb page at 406. For example, in some embodiments, the information canbe related to historical data associated with advertisements placed onthe web page. As a more particular example, in some embodiments, theinformation can indicate an average viewability of an advertisementplaced on the web page (e.g., an average number of times anadvertisement on the web page was viewed, an average number of times anadvertisement in a particular category was viewed, an average number oftimes an advertisement was viewed on a particular day and/or at aparticular time of day, and/or any other suitable viewabilityinformation), information related to quality of impressions of anadvertisement on the web page (e.g., an average number of times anadvertisement on the web page was selected, and/or any other suitableinformation), and/or any other suitable information related tohistorical data associated with advertisements on the web page. Asanother example, in some embodiments, the information can be related tocontent on the web page. As a more particular example, in someembodiments, the information can indicate a category associated with theweb page (e.g., that the web page typically presents news stories, thatthe web page is associated with a retailer of a particular type ofgoods, and/or any other suitable type of category). In some embodiments,the historical data can be stored on any suitable server(s), such asmeasurement vendor server 104.

Process 400 can determine predicted information related to advertisementviewability based on the received measurements, the received informationfrom the HTTP request header, and the received information relating tohistorical data at 408. In some embodiments, the predicted informationcan include predicted information related to the quality of theadvertisement impression. For example, in some embodiments, thepredicted information can include a probability indicating a likelihoodthat the advertisement will be viewed, a duration of time (e.g., fiveseconds, ten seconds, one minute, and/or any other duration of time)that the advertisement will be viewed, a probability indicating alikelihood that the advertisement will be clicked and/or selected,and/or any other suitable predicted information. As another example, insome embodiments, the predicted information can include a probabilitythat the advertisement placement is fraudulent. As a specific example,in some embodiments, the predicted information can include a probabilityindicating a likelihood that the web page corresponds to a misspellingof a different web page.

Note that, in some embodiments, measurement vendor server 104 canadditionally or alternatively calculate floor prices and/or clearingprices based on the predicted information, and can transmit the floorprices to exchange server 102 and/or to seller server 108. For example,in some embodiments, measurement vendor server 104 can calculate floorprices for particular types of advertisement, such as advertisements ona particular domain (e.g., advertisements placed on a particulardomain), advertisements of a particular size, advertisements of aparticular category (e.g., advertisements for particular types of goods,events, etc.), and/or for any other suitable types of advertisements. Asanother example, in some embodiments, measurement vendor server 104 cancalculate floor prices based on the predicted quality of theadvertisement impression. As a particular example, measurement vendorserver 104 can calculate a floor price based on the predictedprobability that the advertisement will be viewed and/or will be viewedfor a particular duration of time, a predicted probability that theadvertisement will be clicked and/or selected, and/or based on any othersuitable predicted information related to quality.

Process 400 can determine the predicted information using any suitabletechnique or combination of techniques. For example, in someembodiments, process 400 can use machine learning techniques (e.g.,neural networks, decision trees, classification techniques, Bayesianstatistics, and/or any other suitable techniques) to determine thepredicted information. Additionally, in some embodiments, process 400can use any suitable information and/or combination of information todetermine the predicted information. For example, in some embodiments,process 400 can use historical data related to advertisements previouslypresented on the web page to determine the predicted information. As amore particular example, in some embodiments, process 400 can useinformation indicating probabilities at which advertisements on the webpage have been viewed (e.g., on a particular day of the week, at aparticular time of day, and/or relating to any other suitable timeframe). As another more particular example, in some embodiments, process400 can use information indicating a category of the web page (e.g.,whether the web page is a news site, an online retailer, a socialnetworking site, and/or belongs to any other suitable category).

Process 400 can transmit the predicted information to the seller at 408.For example, in some embodiments, process 400 can transmit the predictedinformation to exchange server 102 and/or to seller server 108 viacommunication network 110.

Turning to FIG. 5, an example 500 of an information flow diagram forreceiving bids for an advertisement placement in an open exchange basedon information represented in a string appended to a URL is shown inaccordance with some embodiments of the disclosed subject matter. Asillustrated, in some embodiments, portions of information flow diagram500 can be implemented on exchange server 102, measurement vendor server104, and one or more buyer server(s) 106.

At 502, exchange server 102 can load code provided by the measurementvendor into a web page associated with the seller and/or exchange server102. Exchange server 102 can use any suitable technique or combinationof techniques, such as those described above in connection with block302 of FIG. 3. As shown in and described above in connection with FIG.3, the code can determine information and/or metrics related to a webpage on which an advertisement is to be placed, such as a URL of thepage and/or information related to a browser on which the page isdisplayed. The code can additionally and/or alternatively determineinformation related to the advertisement placement, such as a sizeand/or format of the advertisement, a location of the advertisementwithin the page, and/or any other suitable information.

At 504, exchange server 102 can determine metrics related toadvertisement viewability and can transmit the metrics to measurementvendor server 104. As described above in connection with block 304 ofFIG. 3, in some embodiments, the metrics can be related to the web pageand/or the browser in which the code has been inserted, informationrelated to presentation of the advertisement, and/or any other suitableinformation.

At 506, measurement vendor server 104 can create a string based on thereceived metrics. In some embodiments, the string can be of any suitablelength (e.g., three characters, five characters, ten characters, twentycharacters, and/or any other suitable length) and can include anysuitable combination of letters, numbers, and/or other characters. Insome embodiments, any suitable information can be encoded in the string.For example, in some embodiments, the string can encode an identifier ofthe exchange (e.g., an identifier indicating a particular auction onexchange server 102), a format and/or size of the advertisement to beinserted, whether the advertisement will be viewable as the web page isloaded, a location of the advertisement, a code for a particular iFramemap associated with the position of the advertisement, an identifier ofa browser and/or a version of a browser on which the web page is beingviewed, resolution of the screen on which the web page is being viewed,local time at the device on which the web page is being viewed, and/orany other suitable information. A specific example of an encoded stringis “720033219”, which can indicate particular information as follows:

7 Exchange identifier 2 Advertisement size = 728 × 90 0 Advertisementnot viewable on-load 0 Advertisement location not measured 3 Code foriFrame map node 3 Browser = Chrome 6 Chrome version 31 2 Screenresolution = 1200 × 840 19 Local time

Note that, in some embodiments, one or more of the items of informationencoded in the string can be predicted, for example, using techniquesand information described above in connection with FIG. 4. As a specificexample, in some embodiments, whether the advertisement will be viewableas the web page is loaded can be predicted based on historical dataassociated with advertisements placed on the web page in the past. Insome embodiments, measurement vendor server 104 can create the stringusing any suitable technique(s), such as those described below inconnection with block 604 of FIG. 6.

Measurement vendor server 104 can transmit the created string toexchange server 102 at 508. In some embodiments, the string can betransmitted via communication network 110.

At 510, exchange server 102 can append the received string to a URLassociated with the web page in which an advertisement is to beinserted. For example, in some embodiments, the string can be appendedto the URL as a query string.

Exchange server 102 can create a bid request that includes the URL withthe appended string at 512. In some embodiments, the bid request caninclude any other suitable information, such as a name of an entity(e.g., a name of a company, a name of a service, a name of a person,and/or any other suitable name) associated with exchange server 102,and/or any other suitable information. In some embodiments, the bidrequest can be stored and/or presented from any suitable device, such asexchange server 102.

At 514, one or more buyer server(s) 106 can view the bid request and canrequest information associated with the string appended to the URL frommeasurement vendor server 104. Note that, in some embodiments, eachbuyer server 106 can be associated with a different entity.

At 516, measurement vendor server 104 can receive the requests forinformation from buyer server(s) 106, and can calculate advertisementviewability predicted information based on metrics associated with theappended string. As described above in connection with FIG. 4, theadvertisement viewability predicted information can include aprobability indicating a likelihood that the advertisement will beviewed, a predicted duration of time that the advertisement will beviewed, and/or a probability indicating a likelihood that theadvertisement will be clicked and/or selected. In some embodiments,measurement vendor server 104 can determine the predicted informationusing any suitable technique(s), such as those described below inconnection with block 610 of FIG. 6. Measurement vendor server 104 canthen transmit the predicted information to buyer server(s) 106.

At 518, one or more of buyer server(s) 106 can determine bids for theadvertisement placement based on the predicted information received frommeasurement vendor server 104. For example, in some embodiments, buyerserver(s) 106 can determine that a bid should be higher if the predictedprobability that the advertisement will be viewed and/or the predictedprobability that the advertisement will be selected is greater than apredetermined threshold (e.g., greater than 50%, greater than 70%,and/or any other suitable probability). Buyer server(s) 106 can thentransmit the bids to exchange server 102 via communication network 110.

At 520, exchange server 102 can identify the buyer associated with thewinning bid. For example, in some embodiments, exchange server 102 canidentify the buyer associated with the highest bid. In some embodiments,exchange server 102 can identify the highest bid received within aparticular time period (e.g., within a second, ten seconds, a minute,and/or any other suitable time period) of the bid request beingpresented.

Turning to FIG. 6, an example 600 of a process for encoding informationand/or metrics related to advertisement viewability in a string andretrieving the metrics in response to a request from a buyer is shown inaccordance with some embodiments of the disclosed subject matter. Insome embodiments, portions of process 600 can be implemented onmeasurement vendor server 104.

Process 600 can begin by receiving information and/or metrics related toadvertisement viewability and a web page on which an advertisement is tobe presented at 602. As described above in connection with FIGS. 3-5, insome embodiments, the metrics can be received from a measurement codeloaded into the web page by exchange server 102, and can indicateinformation relating to the web page, a browser in which the web page ispresented, a format in which the advertisement is to be presented,and/or any other suitable information.

Process 600 can encode the measurements in a string of characters at604. As described above in connection with block 506 of FIG. 5, thestring can be of any suitable length and can include characters of anysuitable type. Process 600 can create the string using any suitabletechnique or combination of techniques. For example, in someembodiments, a particular value corresponding to a metric (e.g., aparticular screen resolution, a particular browser version, and/or anyother suitable value) can be used as a key in a look-up table todetermine a value (e.g., one or more characters) to be included in thestring. As a specific example, if process 600 receives informationindicating that the screen resolution of a device being used to presentthe web page is 1200×480, process 600 can look up the particular screenresolution in a table to determine the corresponding characters to beincluded in the string (e.g., ‘2’, ‘A’, ‘a$e’, and/or any other suitablecharacter(s)). In some embodiments, process 600 can append characters ina particular order. For example, in some embodiments, process 600 candetermine that characters representing a screen resolution are to beincluded in the string before characters representing a browser version.

Process 600 can transmit the created string to the seller at 606. Forexample, as described above in connection with FIG. 5, in someembodiments, process 600 can transmit the string to exchange server 102via communication network 110.

Process 600 can receive a request for predicted information relating toadvertisement viewability from a buyer at 608. As described above inconnection with block 514 of FIG. 5, in some embodiments, the requestcan be received from buyer server 106. In some embodiments, the requestcan include the string, which was appended to a URL associated with theweb page by exchange server 102, as described above in connection withblock 510 of FIG. 5. In response to receiving the request, process 600can decode the string to retrieve the metrics corresponding to thestring. As a specific example, if the portion of the stringcorresponding to a screen resolution includes the character ‘2’, process600 can determine that the corresponding screen resolution is 1200×840.

Process 600 can decode the string using any suitable technique orcombination of techniques. For example, in some embodiments, process 600can use a look-up table to convert particular characters of the stringto particular values (e.g., a particular screen resolution, a particularbrowser version, and/or any other suitable values). In some embodiments,process 600 can use any suitable information to decode the string. Forexample, in some embodiments, the information can indicate thatparticular information (e.g., a screen resolution) is encoded by aparticular number of characters at a predetermined position in thestring (e.g., the 8^(th) and 9^(th) characters).

Process 600 can use the retrieved metrics to calculate predictedinformation relating to advertisement viewability at 610. As describedabove in connection with block 408 of FIG. 4, the predicted informationcan include a probability indicating a likelihood that the advertisementwill be viewed, a duration that the advertisement will be viewed, aprobability indicating a likelihood that the advertisement will beselected, a probability indicating a likelihood that the advertisementwill be fraudulent, and/or any other suitable predicted information.Additionally, as described above in connection with block 408 of FIG. 4,process 600 can use any suitable information (e.g., historical datarelating to the web page and/or the seller, metrics associated with thecreated string, information from an HTTP request header, and/or anyother suitable information) and/or any suitable technique(s) (e.g.,machine learning techniques, statistical techniques, and/or any othersuitable techniques) to determine the predicted information.

Process 600 can transmit the predicted information to the buyers thatrequested information at 612. For example, as described above inconnection with block 516 of FIG. 5, in some embodiments, process 600can transmit the predicted information to one or more buyer servers 106.

In some instances, an advertisement placement is not purchased at thefirst opportunity. In some such instances, a seller may want to updatepricing parameters (e.g., a floor price for the advertisement placement)based on the position of the advertisement placement within a pagerelative to a portion of the page that is currently being presented. Forexample, the seller can increase the floor price in response todetermining that an advertisement placement at the bottom of a page ismore likely to be viewed because a user viewing the page is currentlyand/or has recently scrolled down on the page, as described below inconnection with FIG. 7. Additionally or alternatively, in someembodiments, an exchange server may solicit bids from buyers multipletimes, as described below in connection with FIG. 8. For example, if nobuyer purchases the advertisement placement at its initial offering, theexchange server can solicit bids a second time, and the bids submittedby the buyer(s) can be updated based on a new relative position of theadvertisement placement.

FIG. 7 shows an example 700 of an information flow diagram for updatingadvertising pricing parameters based on updated predicted informationrelating to advertisement viewability in accordance with someembodiments of the disclosed subject matter. In some embodiments,information flow diagram 700 can occur in connection with informationflow diagram 300 of FIG. 3. For example, in some embodiments, afteradvertisement pricing parameters are determined at block 312 of FIG. 3(or at block 702 of FIG. 7), the seller server can determine if theadvertisement placement was purchased, as shown in and described inconnection with block 704 of FIG. 7, and, in some embodiments, canproceed with the blocks of information flow diagram 700 based on thisdetermination. As shown, in some embodiments, information flow diagram700 can be implemented on exchange server 102, measurement vendor server104, and seller server 108.

At 702, seller server 108 can determine advertising pricing parameters,such as a floor price and/or a clearing price, based on receivedpredicted information. Seller server 108 can use any suitable techniqueor combination of techniques to determine the advertising pricingparameters, such as those described above in connection with block 312of FIG. 3.

At 704, seller server 108 can determine if the advertisement placementwas purchased. In some embodiments, seller server 108 can additionallydetermine any other suitable information, such as an identity of a buyerof the advertisement placement, a purchase price of the advertisementplacement, and/or any other suitable information.

If, at 704, it is determined that the advertisement placement waspurchased (“yes” at 704), seller server 108 can cause the advertisementto be presented at 706. For example, in some embodiments, seller server108 can cause the advertisement to be presented at a particular positionwithin the page, in a particular size and/or format, and/or in any othersuitable manner. In some embodiments, the advertisement can betransmitted to the user device presenting the page from any suitableserver, such as buyer server 106.

If, at 704, it is determined that the advertisement placement was notpurchased (“no” at 704), seller server 108 can transmit informationacquired from a code loaded in the page associated with theadvertisement placement to measurement vendor server 104, as describedabove in connection with block 304 of FIG. 3. As described above inconnection with FIGS. 3 and 4, the information can include informationrelating to a browser and/or a browser version on which the page isbeing presented on a user device, a URL of the page, a size and/orformat of the advertisement, and/or any other suitable information.Additionally, in some embodiments, the information can includeinformation relating to whether the page is currently active and/orindicate a portion of the page that is currently being presented. Forexample, in some embodiments, the information can indicate that a tabopened to the URL associated with the page is currently active and/or infocus. As another example, in some embodiments, the information canindicate which portion of the page is currently being presented (e.g.,the left 10%, the upper 20%, and/or any other suitable portion).

At 710, measurement vendor server 104 can calculate updated predictedinformation related to advertisement viewability based on the receivedinformation. As described above in connection with block 408 of FIG. 4,measurement vendor server 104 can use any suitable technique orcombination of techniques to calculate the updated predictedinformation. The updated predicted information can be updated in anysuitable manner. For example, in some embodiments, the updated predictedinformation can include an updated probability indicating a likelihoodthat an advertisement will be viewed and/or clicked based on informationindicating that a particular portion of the page is currently beingpresented and/or that a tab presenting the page is currently active. Asanother example, in some embodiments, the updated predicted informationcan include an updated predicted duration that an advertisement will beviewed based on information indicating a rate at which a user isscrolling on the page.

At 712, measurement vendor server 104 can transmit the updated predictedinformation to seller server 108.

In response to receiving the updated predicted information, sellerserver 108 can loop back to 702 and can determine advertisement pricingparameters based on the updated predicted information. The advertisementpricing parameters can be determined using any suitable technique orcombination of techniques, such as those described above in connectionwith block 312 of FIG. 3. The advertisement pricing parameters can bemodified in any suitable manner to reflect the updated predictedinformation. For example, in some embodiments, if the updated predictedinformation indicates that a viewer of the page is relatively morelikely to view and/or select the advertisement, the advertisementpricing parameters can include a relatively higher floor price.Conversely, if the updated predicted information indicates that a viewerof the page is relatively less likely to view and/or select theadvertisement, the advertisement pricing parameters can include arelatively lower floor price.

Note that, in some embodiments, the blocks of information flow diagram700 can occur any suitable number of times and at any suitable frequency(e.g., once per second, once per five seconds, and/or any other suitablefrequency).

Turning to FIG. 8, an example 800 of an information flow diagram forpresenting multiple bid opportunities for an advertisement placement inan open exchange is shown in accordance with some embodiments of thedisclosed subject matter. In some embodiments, information flow diagram800 can occur in connection with information flow diagram 500 of FIG. 5.For example, in some embodiments, after the buyer server determines abid for an advertisement placement associated with a string appended tothe URL of the page at block 518 of FIG. 5 (or at block 802 of FIG. 8),the exchange server can determine if the bid was accepted, as shown inand described in connection with block 804 of FIG. 8, and, in someembodiments, can proceed with the blocks of information flow diagram 800based on this determination. In some embodiments, information flowdiagram 800 can be implemented on exchange server 102, measurementvendor server 104, and buyer server 106.

At 802, buyer server 106 can determine a bid for an advertisementplacement based on received predicted information, as described above inconnection with block 518 of FIG. 5. As described above in connectionwith FIG. 5, buyer server 106 can receive the predicted information byquerying measurement vendor server 104 using a string appended to a URLassociated with the page corresponding to the advertisement placement.

At 804, exchange server 102 and/or seller server 108 can determine ifthe bid was accepted.

If, at 804, it is determined that the bid was accepted (“yes” at 804),exchange server 102 and/or seller server 108 can cause an advertisementassociated with buyer server 106 to be presented on the page at 806. Forexample, in some embodiments, the advertisement can be presented at aparticular position within the page, in a particular size and/or format,and/or in any other suitable manner.

If, at 804, it is determined that the bid was not accepted (“no” at804), exchange server 102 can create a new bid request associated withthe appended string at 808, as described above in connection with block512 of FIG. 5. The bid request can then be transmitted from exchangeserver 102 to one or more buyer servers 106.

At 810, buyer server 106 can request updated information associated withthe appended string of the bid request from measurement vendor server104. As described above in connection with block 514 of FIG. 5, in someembodiments, the requested information can include a probabilityindicating a likelihood that the advertisement placement will be viewedand/or selected, a predicted duration of time that the advertisementplacement will be viewed, and/or any other suitable information. Buyerserver 106 can use any suitable technique and/or combination oftechniques to request the updated information, as described above inconnection with block 514 of FIG. 5. For example, in some embodiments,the request can include the appended string associated with the bidrequest.

At 812, measurement vendor server 104 can calculate updated predictedinformation related to advertisement viewability associated with anadvertisement placement specified by the appended string. For example,in some embodiments, the updated predicted information can indicate anupdated probability that an advertisement at a particular location willbe viewed, viewed for a particular duration of time, and/or selectedbased on a current portion of the page being displayed and/or a currentor recent scrolling speed of a user viewing the page. Measurement vendorserver 104 can use any suitable technique(s) and/or information tocalculate the updated predicted information, as described above inconnection with block 610 of FIG. 6. The updated predicted informationcan then be transmitted to buyer server 802.

In response to receiving the updated predicted information, buyer server106 can determine a new bid based on the updated predicted information.For example, in response to receiving updated predicted informationindicating an increased likelihood that the user will view and/or selectthe advertisement, buyer server 106 can increase the bid for theadvertisement placement. The new bid can then be transmitted to exchangeserver 102.

Note that, in some embodiments, the blocks of information flow diagram800 can occur any suitable number of times and at any suitable frequency(e.g., once per second, once per five seconds, and/or any other suitablefrequency).

It should be understood that at least some of the above described blocksof the processes of FIGS. 3-8 can be executed or performed in any orderor sequence not limited to the order and sequence shown in and describedin the figure. Also, some of the above blocks of the processes of FIGS.3-8 can be executed or performed substantially simultaneously whereappropriate or in parallel to reduce latency and processing times.Additionally or alternatively, some of the above described blocks of theprocesses of FIGS. 3-8 can be omitted.

In some embodiments, any suitable computer readable media can be usedfor storing instructions for performing the functions and/or processesherein. For example, in some embodiments, computer readable media can betransitory or non-transitory. For example, non-transitory computerreadable media can include media such as magnetic media (such as harddisks, floppy disks, and/or any other suitable magnetic media), opticalmedia (such as compact discs, digital video discs, Blu-ray discs, and/orany other suitable optical media), semiconductor media (such as flashmemory, electrically programmable read-only memory (EPROM), electricallyerasable programmable read-only memory (EEPROM), and/or any othersuitable semiconductor media), any suitable media that is not fleetingor devoid of any semblance of permanence during transmission, and/or anysuitable tangible media. As another example, transitory computerreadable media can include signals on networks, in wires, conductors,optical fibers, circuits, any suitable media that is fleeting and devoidof any semblance of permanence during transmission, and/or any suitableintangible media.

Accordingly, methods, systems, and media for generating predictedinformation related to advertisement viewability are provided.

Although the invention has been described and illustrated in theforegoing illustrative embodiments, it is understood that the presentdisclosure has been made only by way of example, and that numerouschanges in the details of implementation of the invention can be madewithout departing from the spirit and scope of the invention, which islimited only by the claims that follow. Features of the disclosedembodiments can be combined and rearranged in various ways.

What is claimed is:
 1. A method for generating predicted informationrelated to advertisement viewability, the method comprising: receiving,from a buyer server corresponding to a buyer of an advertisementplacement, a first request for predicted information relating toadvertisement viewability corresponding to the advertisement placementon a web page when the web page is presented on a user device, whereinthe first request includes a string; decoding the string to retrievemetrics associated with the string in the first request by using each ofa plurality of characters in the string as a key to a look-up table thatconverts a character in the string to a particular value correspondingto the metric; generating predicted information including a predictedduration of time that an advertisement, when inserted in theadvertisement placement at a predetermined location on the web page,will be viewed by a user of the user device based on historical datarelated to viewing of advertisements previously placed on the web pageand based on the metrics retrieved using the string; transmitting thepredicted information to the buyer; receiving, from the buyer, a secondrequest for updated predicted information relating to advertisementviewability corresponding to the advertisement placement on the web pagewhen the web page is presented on the user device, wherein the secondrequest includes the string; decoding the string to retrieve updatedmetrics associated with the string by using each of the plurality ofcharacters in the string as the key to the look-up table that convertsthe character in the string to the particular value corresponding to themetric, wherein the updated metrics indicate a portion of the web pagethat is currently being presented; generating updated predictedinformation including an updated predicted duration of time that anadvertisement inserted in the advertisement placement on the web pagewhen presented on the user device will be viewed based on the updatedmetrics; and transmitting the updated predicted information to the buyerserver prior to placing a bid on the advertisement placement, whereinthe buyer server places the bid on the advertisement placement inresponse to determining that the predicted information indicates thatthe advertisement inserted in the advertisement placement on the webpage will be viewed is greater than a predetermined threshold value. 2.The method of claim 1, wherein the updated metrics further indicatewhether a browser tab corresponding to the web page is currently active.3. The method of claim 1, wherein the updated metrics further indicate ascrolling speed corresponding to a browser window displaying the webpage.
 4. The method of claim 3, wherein the updated predicted durationof time that the advertisement inserted in the advertisement placementwill be viewed is based on the scrolling speed.
 5. The method of claim1, wherein the string indicates a format of the advertisement placement.6. The method of claim 1, wherein the predicted information is generatedbased at least in part on historical data related to viewing ofadvertisements previously placed on the web page.
 7. The method of claim1, further comprising: receiving, from the user device currentlypresenting the web page, and via a code inserted in the web page, themetrics associated with presentation of the web page on the user device,wherein the web page is associated with a seller of the advertisementplacement located at the predetermined location within the web page, andwherein the metrics include device information related to the userdevice and browser information related to a browser on which the webpage is displayed on the user device; generating a string that includesa plurality of characters that each encode a particular valuecorresponding to a metric at least a first character from the pluralityof characters encodes the browser information related to the browser onwhich the web page is displayed on the user device and wherein at leasta second character from the plurality of characters encodes the deviceinformation related to the user device; and transmitting the string to aseller server corresponding to the seller, wherein the string isappended to a URL associated with the web page.
 8. A system forgenerating predicted information related to advertisement viewability,the system comprising: a hardware processor that is configured to:receive, from a buyer server corresponding to a buyer of anadvertisement placement, a first request for predicted informationrelating to advertisement viewability corresponding to the advertisementplacement on a web page when the web page is presented on a user device,wherein the first request includes a string; decode the string toretrieve metrics associated with the string in the first request byusing each of a plurality of characters in the string as a key to alook-up table that converts a character in the string to a particularvalue corresponding to the metric; generate predicted informationincluding a predicted duration of time that an advertisement, wheninserted in the advertisement placement at a predetermined location onthe web page, will be viewed by a user of the user device based onhistorical data related to viewing of advertisements previously placedon the web page and based on the metrics retrieved using the string;transmit the predicted information to the buyer; receive, from thebuyer, a second request for updated predicted information relating toadvertisement viewability corresponding to the advertisement placementon the web page when the web page is presented on the user device,wherein the second request includes the string; decode the string toretrieve updated metrics associated with the string by using each of theplurality of characters in the string as the key to the look-up tablethat converts the character in the string to the particular valuecorresponding to the metric, wherein the updated metrics indicate aportion of the web page that is currently being presented; generateupdated predicted information including an updated predicted duration oftime that an advertisement inserted in the advertisement placement onthe web page when presented on the user device will be viewed based onthe updated metrics; and transmit the updated predicted information tothe buyer server prior to placing a bid on the advertisement placement,wherein the buyer server places the bid on the advertisement placementin response to determining that the predicted information indicates thatthe advertisement inserted in the advertisement placement on the webpage will be viewed is greater than a predetermined threshold value. 9.The system of claim 8, wherein the updated metrics further indicatewhether a browser tab corresponding to the web page is currently active.10. The system of claim 8, wherein the updated metrics further indicatea scrolling speed corresponding to a browser window displaying the webpage.
 11. The system of claim 10, wherein the updated predicted durationof time that the advertisement inserted in the advertisement placementwill be viewed is based on the scrolling speed.
 12. The system of claim8, wherein the string indicates a format of the advertisement placement.13. The system of claim 8, wherein the predicted information isgenerated based at least in part on historical data related to viewingof advertisements previously placed on the web page.
 14. The system ofclaim 8, wherein the hardware processor is further configured to:receive, from the user device currently presenting the web page, and viaa code inserted in the web page, the metrics associated withpresentation of the web page on the user device, wherein the web page isassociated with a seller of the advertisement placement located at thepredetermined location within the web page, and wherein the metricsinclude device information related to the user device and browserinformation related to a browser on which the web page is displayed onthe user device; generate a string that includes a plurality ofcharacters that each encode a particular value corresponding to a metricat least a first character from the plurality of characters encodes thebrowser information related to the browser on which the web page isdisplayed on the user device and wherein at least a second characterfrom the plurality of characters encodes the device information relatedto the user device; and transmit the string to a seller servercorresponding to the seller, wherein the string is appended to a URLassociated with the web page.
 15. A non-transitory computer-readablemedium containing computer executable instructions that, when executedby a processor, cause the processor to perform a method for generatingpredicted information related to advertisement viewability, the methodcomprising: A method for generating predicted information related toadvertisement viewability, the method comprising: receiving, from abuyer server corresponding to a buyer of an advertisement placement, afirst request for predicted information relating to advertisementviewability corresponding to the advertisement placement on a web pagewhen the web page is presented on a user device, wherein the firstrequest includes a string; decoding the string to retrieve metricsassociated with the string in the first request by using each of aplurality of characters in the string as a key to a look-up table thatconverts a character in the string to a particular value correspondingto the metric; generating predicted information including a predictedduration of time that an advertisement, when inserted in theadvertisement placement at a predetermined location on the web page,will be viewed by a user of the user device based on historical datarelated to viewing of advertisements previously placed on the web pageand based on the metrics retrieved using the string; transmitting thepredicted information to the buyer; receiving, from the buyer, a secondrequest for updated predicted information relating to advertisementviewability corresponding to the advertisement placement on the web pagewhen the web page is presented on the user device, wherein the secondrequest includes the string; decoding the string to retrieve updatedmetrics associated with the string by using each of the plurality ofcharacters in the string as the key to the look-up table that convertsthe character in the string to the particular value corresponding to themetric, wherein the updated metrics indicate a portion of the web pagethat is currently being presented; generating updated predictedinformation including an updated predicted duration of time that anadvertisement inserted in the advertisement placement on the web pagewhen presented on the user device will be viewed based on the updatedmetrics; and transmitting the updated predicted information to the buyerserver prior to placing a bid on the advertisement placement, whereinthe buyer server places the bid on the advertisement placement inresponse to determining that the predicted information indicates thatthe advertisement inserted in the advertisement placement on the webpage will be viewed is greater than a predetermined threshold value. 16.The non-transitory computer-readable medium of claim 15, wherein theupdated metrics further indicate whether a browser tab corresponding tothe web page is currently active.
 17. The non-transitorycomputer-readable medium of claim 15, wherein the updated metricsfurther indicate a scrolling speed corresponding to a browser windowdisplaying the web page.
 18. The non-transitory computer-readable mediumof claim 17, wherein the updated predicted duration of time that theadvertisement inserted in the advertisement placement will be viewed isbased on the scrolling speed.
 19. The non-transitory computer-readablemedium of claim 15, wherein the string indicates a format of theadvertisement placement.
 20. The non-transitory computer-readable mediumof claim 15, wherein the predicted information is generated based atleast in part on historical data related to viewing of advertisementspreviously placed on the web page.
 21. The non-transitorycomputer-readable medium of claim 15, wherein the method furthercomprises: receiving, from the user device currently presenting the webpage, and via a code inserted in the web page, the metrics associatedwith presentation of the web page on the user device, wherein the webpage is associated with a seller of the advertisement placement locatedat the predetermined location within the web page, and wherein themetrics include device information related to the user device andbrowser information related to a browser on which the web page isdisplayed on the user device; generating a string that includes aplurality of characters that each encode a particular valuecorresponding to a metric at least a first character from the pluralityof characters encodes the browser information related to the browser onwhich the web page is displayed on the user device and wherein at leasta second character from the plurality of characters encodes the deviceinformation related to the user device; and transmitting the string to aseller server corresponding to the seller, wherein the string isappended to a URL associated with the web page.